#define _CRT_SECURE_NO_WARNINGS 
//#include<stdio.h>
//int main()
//{
//	int n = 0;
//	int m = 0;
//	scanf("%d %d", &n, &m);
//	if (n == 0)
//	{
//		if (m % 2 != 0)
//		{
//			printf("WOW~\n");
//		}
//		else
//		{
//			printf("so sad!\n");
//		}
//	}
//	else if (n == 1)
//	{
//		if (m % 2 == 0)
//		{
//			printf("WOW~\n");
//		}
//		else
//		{
//			printf("so sad!\n");
//		}
//	}
//	return 0;
//}
//#include<stdio.h>
//long long int isDivied(int i)
//{
//	long long int fraction = 1;
//	for (long long int j = 1; j <= i; j++)
//	{
//		fraction *= j;
//	}
//	return fraction;
//}
//int main()
//{
//	long long int n = 0;
//	scanf("%lld", &n);
//	long long int i = 0;
//	long long int sum = 0;
//	for (i = 1; i <= n; i++)
//	{
//		sum += isDivied(i);
//	}
//	printf("%lld\n", sum);
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int i = 0;
//	int j = 0;
//	int A[1005] = { 0 };
//	int B[1005] = { 0 };
//	int n = 0;
//	scanf("%d", &n);
//	A[0] = B[0] = 1;
//	for (i = 2; i <= n; i++)
//	{
//		for (j = 0; j < 100; j++)
//		{
//			B[j] *= i;
//		}
//		for (j = 0; j < 100; j++)
//		{
//			if (B[j] > 9)
//			{
//				B[j + 1] += B[j] / 10;
//				B[j] %= 10;
//			}
//		}
//		for (j = 0; j < 100; j++)
//		{
//			A[j] += B[j];
//			if (A[j] > 9)
//			{
//				A[j + 1] += A[j] / 10;
//				A[j] %= 10;
//			}
//		}
//	}
//	for (i = 100; i >= 0 && A[i] == 0; i--);
//	for (j = i; j >= 0; j--)
//	{
//		printf("%d", A[j]);
//	}
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int P;
//	int Q;
//	int R;
//	int result;
//	printf("P Q R -> (P|Q)&(P->R)&(Q->R)\n");
//	while (P < 2)
//	{
//		result = (P || Q) && (!P || R) && (!Q || R);
//		printf("%d %d %d -> %d\n", P, Q, R, result);
//		R++;
//		if (R == 2)
//		{
//			Q++;
//			R = 0;
//			if (Q == 2)
//			{
//				P++;
//				Q = 0;
//			}
//		}
//	}
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int P = 0;
//	int Q = 0;
//	int R = 0;
//	int count_T = 0;
//	int count_F = 0;
//	for (P = 0; P <= 1; P++)
//	{
//		for (Q = 0; Q <= 1; Q++)
//		{
//			for (R = 0; R <= 1; R++)
//			{
//				if ((P && !Q) && (P == R))
//				{
//					count_T++;
//				}
//				else
//				{
//					count_F++;
//				}
//			}
//		}
//	}
//	printf("%d %d", count_T, count_F);
//	return 0;
//}
#include<stdio.h>
#include<math.h>
int main()
{
	int n = 0;
	double d = 0.0;
	scanf("%d %lf", &n, &d);
	int multipy = pow(2, n);
	double result = d * multipy;
	printf("%.1lf\n", result);
	if (result - (int)result < 0.5)
	{
		printf("%d\n", (int)result);
	}
	else if (result - (int)result >= 0.5)
	{
		printf("%d\n", (int)result + 1);
	}
	return 0;
}